<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use DB;
use Session;

// 友情 链接
class FriendController extends Controller
{
    // 显示 添加 编辑 页面
    public function create( $id='' )
    {
        // 开始
        // 获取路由
        $route_array = request()->route()->getAction();
        $controller = explode("\\",$route_array['controller']);
        $result = explode("@",$controller[3]);
        // 控制器 	$result[0];
        // 方法 	$result[1];
        $auth_final = '';
        foreach( Session::get('auths') as $key=> $auth_info )
        {
            // 符合条件
            if( $auth_info['controller']==$result[0] && $auth_info['func']==$result[1] )
            {
                $auth_final = true;
                break;
            }else
            {
                $auth_final = false;
            }
        }
        // 权限验证失败
        if( !$auth_final )
        {
            return redirect('/')->with( ['authinfo'=>'没有此项权限'] );
        }
        // 结尾
    	if( $id == '' )
    	{
    		// 添加
    		return view('link.add',[ 'title'=>'友情链接 添加' ]);
    	}else
    	{	
    		// 编辑
    		$link = DB::table('friend_link')->where('id',$id)->first();
    		return view('link.add',[ 'title'=>'友情链接 修改', 'link'=>$link ]);
    	}
    	
    }

	// 执行 添加 编辑 
    public function doCreate( $id='',Request $request )
    {
    	$data = array();
		$data = $request -> except('_token');

    	if( empty($data['name']) )
		{			
			$this->show_msg( '请填写网站名称' );
		}

		if( empty($data['url']) )
		{			
			$this->show_msg( '请填写链接地址' );
		}

		if($id == '')
		{
			// 创建
			$link_id = DB::table('friend_link')->insertGetId($data);

			if( $link_id )
			{
				$this->show_msg( '添加链接成功' );
			}else
			{
				$this->show_msg( '操作失败' );
			}
		}else
		{
			// 编辑
			$update = DB::table('friend_link')
						-> where('id',$id)
						-> update( $data );

			if( $update )
			{
				$this->show_msg( '修改链接成功' );
			}else
			{
				$this->show_msg( '操作失败' );
			}
		}
		

    }

	
	// 链接 列表
    public function frilist()
    {
        // 开始
        // 获取路由
        $route_array = request()->route()->getAction();
        $controller = explode("\\",$route_array['controller']);
        $result = explode("@",$controller[3]);
        // 控制器 	$result[0];
        // 方法 	$result[1];
        $auth_final = '';
        foreach( Session::get('auths') as $key=> $auth_info )
        {
            // 符合条件
            if( $auth_info['controller']==$result[0] && $auth_info['func']==$result[1] )
            {
                $auth_final = true;
                break;
            }else
            {
                $auth_final = false;
            }
        }
        // 权限验证失败
        if( !$auth_final )
        {
            return redirect('/')->with( ['authinfo'=>'没有此项权限'] );
        }
        // 结尾
		// 全部友情链接
    	$links = DB::table('friend_link')
						-> orderBy('sort','desc')
						-> orderBy('id','desc')
						-> get();
    	return view('link.list', [ 'title'=>"友情链接 列表", "links"=>$links ]);
    }

	// 删除友情链接
    public function delete( $id='',Request $request )
    {
    	$data = array();
		$data = $request -> except('_token');
		// 执行删除
		$res = DB::table('friend_link')
						-> where('id', $id)
						-> delete();
		if( $res )
		{
			$this->show_msg( '删除成功' );
		}else
		{
			$this->show_msg( '操作失败' );
		}

    }
	
	// 友情链接 进行 排序
	public function friSort( $id='',Request $request )
	{
		$data = array();
		$data = $request -> except('_token');
		// 执行修改
		$res = DB::table('friend_link')
						-> where('id', $id)
						-> update( $data );
		if( $res )
		{
			return '1';
		}else
		{
			return '0';
		}
	
	}

}
